Data encryption systems are important to messaging and other data processing activities in order to preserve privacy in transmission over insecure communication channels. Encryption techniques can be economically important for protecting commercial interests in many fields where encrypting and protecting digital data such as text, audio, and video are transferred over the Internet and via other digital network systems.
Data encryption systems are generally classified in two general categories: symmetric (or secret key) and asymmetric (or public key).
Symmetric systems, like the present invention, use the same secret key for performing the encryption operation and for the decryption operation. A well-known symmetric encryption algorithm is the Data Encryption Algorithm (DEA) that implements the Data Encryption Standard (DES) as defined by the National Institute of Standards and Technology publications “Data Encryption Standard (DES)”, FIPS PUB 46-2 (1980) and “DES Modes of Operation”, FIOS PUB 81 (1988). The DES encryption system utilizes a 56-bit key plus 8 bits for parity checking and the encryption block size is 64-bits.
In general, existing encryption systems incorporate cumbersome operations that are time consuming and relatively slow. Symmetric encryption systems may be characterized in that they repeatedly perform the same sequence of operations on plaintext input blocks. This technique is referred to as round functions with the algorithms gaining strength by performing the same sequence of operations numerous times.
While there are many methods of symmetric key block encryption systems, the most popular methods (for example, DES, CAST, RC5, and Blowfish) are based on Type-2 Fiestel Networks. This scheme consists of dividing the data to be encrypted into two halves and then executing a number of pre-determined rounds, where each round consists of transforming the left half of the data based on the right half of the data and then transforming the right half based on the transformed left half.